#ifndef COOLINARY_H
#define COOLINARY_H

#include "table.h"

struct nutrition_fields {
	float calories;
	float protein;
	float sugar;
	float fat;
	float vitamin_a;
	float vitamin_b;
};

typedef struct _cooltype {
	char* name;
	char* type; /*this will be unecessary if we have a bitarray for the operations*/
	int nutrition;
	struct nutrition_fields nutrition_values;
	int quantity;
	int time;
} cooltype;

/*operator enum */
enum {ADD, SUBTRACT, MULTIPLY, DIVIDE, LTHAN, LTHANE, EQUALS, NEQUALS, GTHANE, GTHAN, CONCAT} operators; 

/*enum for the cooltype fields*/
enum {FNAME,FNUTRITION,FQUANTITY,FTIME} fields;

/*___________________new structs______________________*/
struct id_list {
	char* list[10];
	int num_ids;
};

struct param {
	int value;
	char is_name;
	char is_expr;
	char is_accsr;
	int type;
};

struct param_list {
	struct param list[10];
	int num_params;
};

struct statement {
	void (*fpointer) (struct param_list);
	struct param_list p_list;
};

struct statement_list {
	struct statement s_list[100];
	int num_statements;
};


struct expression {
	struct param_list p_list;
	int op;
	
};	

#endif
